This page last changed on Nov 28, 2006 by juanca.

Una manera en la que podemos hacer la simulación de un analizador sintáctico descendente más eficiente, es eliminando los prefijos comunes en los lados derechos de las producciones.

Dada una gramática con producciones:

A → αβ1 | ... | αβn | δ1 | ... | δm

donde α es el prefijo común, y los δi son las producciones que no comparten el prefijo en cuestión, podemos factorizar los prefijos comunes en las producciones así:

A → α (β1 | ... | βn) | δ1 | ... | δm

Y transformar la gramática en:

A → αA' | δ1 | ... | δm
A'→ β1 | ... | βn

Al eliminar los prefijos comunes ya no es necesario que las implementaciones de los lados derechos consuman varias veces el mismo prefijo en la búsqueda del lado derecho correcto.

Document generated by Confluence on Oct 04, 2010 11:25